//
//  XLTableViewMainController.h
//  Current
//
//  Created by 于鹏 on 2017/8/16.
//  Copyright © 2017年 YIVIEW. All rights reserved.
//  封装TableView 设置模块,实时会诊模块的电子病历,可继承该类

#import "XLBaseViewController.h"
#import "XLBaseTableViewCell.h"
#import "XLBaseCellModel.h"

@protocol XLTableViewMainControllerDelegate <NSObject>
@optional;
//cell初始化时 自定义处理
- (void)xl_mainTableView:(UITableView *)tableView mainTableViewCell:(XLBaseTableViewCell *)mainCell mainCellModel:(XLBaseCellModel *)mainModel sectionArr:(NSArray *)sectionArr atIndexPath:(NSIndexPath *)indexPath;

// 自定义cell高度
- (CGFloat)xl_mainTableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;

//点击事件
- (void)xl_mainTableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath cellModel:(XLBaseCellModel *)cellModel;
@end

@interface XLTableViewMainController : XLBaseViewController

@property (nonatomic, strong)UITableView *tableView;

@property (nonatomic, strong)NSMutableArray *xl_dataSource;//数据源

@property (nonatomic, weak)id<XLTableViewMainControllerDelegate>mainDelegate;

@property (nonatomic, strong)UIView *tableHeaderView;//自定义headerView
/**
 默认header
 */
- (UIView *)defaultTableHeader;
/**
 tableViewCell注册xib
 */
- (void)registerNib;
/**
  footer高度,暴露接口用于子类重写
 */
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;
/**
  footerView
 */
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section;

//- (void)setupTableHeaderView;

@end
